#ifndef __RENDER_SYSTEM_H__
#define __RENDER_SYSTEM_H__

#include "Camera.h"
#include "Light.h"
#include "FreeType.h"

class RenderSystem {
    protected:
        float       mXrot, mXrotInc;
        float       mYrot, mYrotInc;
        float       mZrot, mZrotInc;

        //光源
        Light*      mLight;

        //摄像机
        Camera*     mCamera;

        //字体
        freetype::font_data mFont;

    public:
        long        mFpsCountRender;
        long        mFpsRender;
        long        mLastTick;

    public:
        RenderSystem();

        ~RenderSystem();

        void LightingSetting(void);

        //返回摄像机实例
        Camera*          getCamera(void);

        //返回摄像机实例
        const Camera*    getCamera(void) const;

        void RenderFpsUpdate(long ticks);

        void RenderInit(void);

        void RenderLighting(void);

        void RenderObjName(void);

		//绘制轴向包围盒
		void RenderAABB();

        void RenderModels(void);

		void RenderGrid(void);

        void RenderDisplay(void);

};

#endif //__RENDER_SYSTEM_H__
